# -*- coding: utf-8 -*-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：hashlib_model.py
#日期：2019-11-28
#备注：hashlib模块中的多种加解密方法
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

import hashlib
import time

print(hashlib.algorithms_available)     # 支持的单向加密算法

encode = 'utf-8'                        # 编码
appkey = 'md5test.'                     # 待加密信息

time_span = str(int(time.time()))
o_token = appkey                            # 可以对o_token进行处理appkey+time_span
hl = hashlib.md5()                         # 创建md5对象，也可以hl = hashlib.new("md5")
hl.update(o_token.encode(encoding=encode))  # 转换为bytes
token = hl.hexdigest().upper()              # hexdigest() 加密过程：以十六进制字符串形式输出  upper() 大写
print('第一种MD5加密后为 ：' + token)

# 另一种写法：b前缀代表的就是bytes
str_md5 = hashlib.md5(b'md5test.').hexdigest().upper()
print('第二种MD5加密后为 ：' + str_md5)
